/**
*	bootstrap button 事件公共js模块
*   @Author jackson wang
*   @date 2016-09-022
*   @version 1.0
*
*/

define(["jquery",'init','bsMsgServ','jqueryValidate'], 
	function($,init,bsMsgServ,jqueryValidate) {
	
	'use strict';
	
	var public_method = {
	
		/**
		 * 新增事件
		 * @param _options.container	容器对象
		 * @param _options.url			编辑页面url
		 * @param _options.form			目标对象form
		 * @param _options.formInit	扩展初始化方法
		 * @param _options.evt			触发按钮事件
		 * @param _options.data			选中的记录行
		 */
		add:function(_options){
			
			
			
			if(!_options){
				bsMsgServ.errorSlide('参数异常，请联系系统管理员！');
			}
			//容器对象clear
			var _df = {
				form:' form.main-form'
			}
			var _container;
			if(_options.container){
				_container = $('#'+_options.container)
				_container.empty();
			}
			//加载url
			var _url = '/'+init.getSite()+_options.url
			_container.load(_url,function(){
			
				//判断form是否定义
				var _form
				if(_options.form){
					_form = $(_options.form);
				}else{
					_form = $('#'+_options.container + _df.form)
				}
				//清空form
				if(_form.length>0){
					_form.form('clear');				
					
					//扩展初始化方法判断并执行
					if(_options.formInit){
						_options.formInit()
					}
				}			
				//清除禁用标志
				if(_options.evt){
					var _t = _options.evt.currentTarget;
					$(_t).removeClass('disabled');
				}
				
			});
			
			
		}
		,
		
		/**
		 * 删除事件
		 * @param _options.table	dataTable 对象
		 */
		del:function(_options){
			//判断是否选中行
			var _grid;
			
			var selectedData;
			
			if(_options){
				if(_options.table){	
					_grid = _options.table					
					
					selectedData = _grid.rows('.selected').data()
					
					if(selectedData && selectedData.length>0){
						//弹窗提示
						
					}
				}
			}
		}
		,
		/**
		 * 编辑事件
		 * @param _options.queryUrl	查询地址
		 * @param _options.id		业务记录唯一编码
		 * @param _options.
		 */
		edit:function(_options){
			
		}
		,
		
		//查看
		view:function(_options){
			
		}
		,
		/**
		 * 导出当前页
		 * @param _options.url
		 * @param _options.queryParam
		 */
		exportCurrent:function(_options){
			private_method.downloadfile(_options)
		},
		/**
		 * 导出全部
		 * @param _options.url
		 * @param _options.queryParam
		 */
		exportAll:function(_options){
			if(_options.queryParam){
				_options.queryParam['exportAll']=1
			}
			private_method.downloadfile(_options)
		}
		,
		/**
		 * 检查datagrid是否单选状态
		 * @param _options.grid
		 * @return -1:多选,0:未选,1:单选
		 */
		singleCheck:function(_options){
			if(_options && _options.grid){
				var _g = _options.grid;			
				
				return _g.datagrid('getSelections')
			}
		}
	}
	
	var private_method = {
		/**
		 * @param _options.url
		 * @param _options.queryParam
		 */
		downloadfile:function(_options){
			if(window.console){
				console.log('download excel fired ')	
			}
			var _url = _options.url
			var form = $("<form>");
			form.attr('style','display:none');
			form.attr('target','');
			form.attr('method','post');
			form.attr('action',_url);
			var condition = {
			}
			
			$.each(_options.queryParam,function(field,value){
				condition['condition['+field+']']=value
			})
			$('body').append(form);
			$(form).form('submit', {    
				url:_url,
				queryParams:condition
				
			});			
			
			form.remove();
			
		}
	}
	
	return public_method;
})